In an application development environment, an application, for example a client or a cloud-based hosted application, may combine and use source data, presentation, and/or functionality (resources) from two or more data sources to create new functionality based on using existing data resources. This type of“combination” application may be generated in a generic manner via a simple combination, visualization, and aggregation of data accessed via a data service provider. This type of application allows for easy and fast integration of data and may use open application programming interface (API)s and/or data sources to produce the new functionality even if the functionality is not related in any way to the original reason for compiling the source data.
Currently many such combination applications are developed based on the Open Data Protocol (OData), which is an open protocol which allows the creation and consumption of queryable and interoperable representational state transfer (REST) APIs in a standard manner. REST is a software architectural style used, for example, in the World Wide Web. REST provides design component parameters for components of a distributed media system. At a high level of abstraction the OData services may be viewed as comprising data collections and navigations between these collections. Therefore combination application types which allow users to navigate from one collection to another based on navigations in the OData service are easily generated.